A modern digital signal processor (DSP) is typically a programmable integrated circuit used for the generation, filtering, detection, or modulation of digitally encoded signals A DSP usually consists of a data processing unit and one or more main memories for program data and the data to be processed. The nature of digital signal processing functions, such as signal filtering, is such as to require frequent repetitions, or iterations of sub-sets of data in the form of operands and instructions fetched from memory. The speed and performance of the processor is limited by the rate at which such operands and instructions can be fetched. To reduce this limitation, architectures have been developed which use multiple main memories operating in parallel. For example, one memory can hold data operands to be processed and another can hold instructions. DSP's require a third type of operand storage for data which is only read and never changed in the course of operation. Such an operand is sometimes referred to as a "coefficient". The memories may be arranged as a random access memory (RAM) to hold data operands and two read-only memories (ROM's), one for coefficients and one for instructions. However, such an arrangement can pose problems in both development and application. One problem is in determining the optimum balance between coefficient and instruction memories, since one application may need many locations for instructions and only a few for coefficients, while another may need many locations for coefficients and only a few for instructions. Another problem arises in prototyping, for which the read-only memories must be replaced with memories off-chip. This mode requires the use of numerous external connecting pins for carrying addresses and data connections to the chip.